import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: YKH
 * Date: 2022-03-19
 * Time: 10:28
 */
public class Dome {
    //数组的拷贝的几种方法
    public static void main1(String[] args) {
        int []arr = {1,2,3,4};
        // 1. 使用 Arrays.copyOf 方法
        int [] ret1 = Arrays.copyOf( arr,10);
        System.out.println(Arrays.toString(ret1));
        // 2. 拷贝数组局部 ARRAYS.copyOfRange 方法
        int [] ret2 = Arrays.copyOfRange( arr,0,10);
        System.out.println(Arrays.toString(ret2));
        // 3.  使用 System.arraycopy( 源数组，要拷贝的位置，目标数组，拷贝到目标数组的位置，拷贝的长度）
        int [] ret3 = new int[arr.length];
        System.arraycopy( arr,0,ret3,0,arr.length);
        System.out.println(Arrays.toString(ret3));
        //4. 使用  arr.clone()  arr为要拷贝的数组
        int [] ret4 = arr.clone();
        System.out.println(Arrays.toString(ret4));
    }
    //二维数组的定义与使用
    public static void main(String[] args) {
        int [][] arr = { {1,2,3},{5,6,7},{9,10,11,12} };
        //第一种打印方式  for 循环打印
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print( arr[i][j] + " " );
            }
            System.out.println();
        }
        System.out.println("==========================");
        //第二种打印方式  Arrays.deepToString 方法打印
        System.out.println( Arrays.deepToString(arr));
        //第三种打印方式
        System.out.println("==========================");
        for (int[] ret : arr) {
             for (int x : ret) {
                 System.out.print(x+" ");
            }
            System.out.println();
        }
    }
}
